home *** CD-ROM | disk | FTP | other *** search
/ LightWavin' Magazine 5 / LightWavin' Magazine, Issue 5 WIN-MAC (DMG Publishing)(1998).iso / mac / Dspot / sgi / READMEDSPOT1.txt next >
Text File  |  1998-01-05  |  15KB  |  397 lines

  1.  
  2. ------------------------------------
  3. README FILE for Dspot(Nag) Version 1
  4. ------------------------------------
  5.  
  6.     --> Currently available on Intel and SGI platforms <--
  7.  
  8. Special thanks to Marvin Landis for compiling the SGI version.
  9.  
  10.  
  11.  
  12. =================
  13. Table Of Contents
  14. =================
  15.  
  16.     Description
  17.     Installation
  18.     Dependencies
  19.     Tested On...
  20.     Known Limitations
  21.     Bug Reports
  22.      How to Purchase
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29. -----------
  30. Description
  31. -----------
  32.  
  33.         Overview
  34.         --------
  35.  
  36. Dspot is a layout/animation displacement plugin, a procedural displacement
  37. handler/interface in LW SDK terms. Once installed, it appears as a
  38. "Disp Map Plug-in" in Layout's Objects panel. It acts something like
  39. a displacement effector, altering objects' geometry based on a number
  40. of factors specified by the user. Dspot is a silly name that's sort of
  41. an abbreviation for "displacement spot", as early tests just used a
  42. null item as the effector.  The Dspot plugin is copyright 1997
  43. by D.J. Hudek.
  44.  
  45.  
  46. Dspots can be used for a variety of "fun" effects. Put a radial style 
  47. attractor dspot in the mouth of a hand-held vacuum and suck in a buick. 
  48. Put a parallel style repeller in the vicinity and fly a bird into a plate 
  49. glass window (smooshing flat as it hits). Use a parallel style attractor 
  50. to allow a monster to emerge from the ground as the attraction is lessened,
  51. or a giant cartoon electro-magnet to deform and attract the evil robot, 
  52. or use a sinusoidal modifier on a radial dspot and allow a tophat to beat 
  53. like a heart, or use a radial style dspot as a "force-field" around a hero 
  54. object and it can push/deform other objects out of the way as it barges 
  55. its way along, or create a small hole in a high altitude jet and use an 
  56. attractor dspot to squirt people and other items out of it, or use
  57. several different styles with differing modifiers scattered about in 
  58. space and deform a ship as it flies through, or or or... well, there are 
  59. many many combinations of parameters each with different effects... 
  60. it's fun to experiment and play around.   :-)
  61.  
  62.  
  63.  
  64. Dspots act on an object-by-object basis, applied via Layout's Objects
  65. Panel, under the "Disp Map Plug-ins" widget. Any object, light, or camera
  66. may act as a Dspot for any object or objects. An object may have multiple
  67. Dspots which affect it. For each, one has control over a number of 
  68. parameters which determine the amount of displacement a dspot will apply 
  69. to an object at any point in time:
  70.     * Item to act as a Dspot for this object
  71.     * Attract or Repel
  72.     * Various displacement styles (radial, plus 4 types of parallel)
  73.     * InnerRadius (may be animated)
  74.     * OuterRadius (may be animated)
  75.     * Raw displacement to apply
  76.     * Displacement strength falloff (none, 1/d, 1/d**2, d)
  77.     * Strength modifier (none, sinusoid with specified period and phase, 
  78.                  or animatable via control item)
  79.     
  80.     
  81. If a particular point on the object is further away than the outside radius,
  82. no displacement is applied. 
  83.  
  84. If it is between the outer and inner radius, the displacement is determined 
  85. by "(raw displacement) * (strength falloff) * (modifier)"
  86.  
  87. If a point is closer than the inner radius, it is pushed back (except for 
  88. one of the parallel styles, points may not invade a dspot's inner radius).
  89.  
  90. The inner radius, the outer radius, and the strength modifier (and
  91. therefore the displacement to apply) may all be animated.
  92.  
  93. Experiment with the settings and have fun. 
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.         Invocation
  102.         ----------
  103. After installation of the plugin, Dspots can be invoked for an object
  104. by means of the "Disp Plug-ins" option in the Objects Panel. Once selected,
  105. the user interface is accessed via the associated "Options" button.
  106.  
  107.  
  108.  
  109.         User Interface
  110.         --------------
  111. The first menu presented gives one the option of creating a new Dspot,
  112. modifying an existing Dspot (if any have been created), or Deleting
  113. a Dspot (again, only makes sense if some have been created). The bottom
  114. half of the menu provides a popup list of all the Dspots currently
  115. created for the object (if any), from which to choose for the modify 
  116. or delete action.
  117.  
  118.         [[ Create A New Dspot ]]
  119.  
  120. The first time this is invoked for an object, a funny question will appear
  121. at the top (see Known Limitations, below). The SDK isn't too good about
  122. always accurately letting the software know which object is the subject 
  123. of interest, so the first item may claim "amnesia" and ask you to supply 
  124. the name of the object for which you intend to add Dspots. An odd workaround.
  125. This should only happen the first time you create a dspot for the object.
  126.  
  127. Most of the remaining items are self-explanatory.
  128.  
  129. The next widget asks you to specify which object, light or camara will
  130. be acting as a Dspot with the set of parameters you are about to supply.
  131.  
  132. The next widget asks whether the Dspot should Attract or Repel.
  133.  
  134. The next three widgets concern the inner and outer radii of the Dspot.
  135. They define space in which the Dspot may exert displacement upon the object,
  136. as described above in the overview. If one so chooses, the radii values
  137. may be changed over time by use of a control item (which will specified at 
  138. the bottom of the menu). If used, the inner radius will be multiplied by the
  139. control item's X channel value, while the outer radius will be multiplied
  140. by the item's Y channel value. Of course, one should keep the inner radius
  141. value less than the outer radius. The default is to use static radii
  142. values and not use the control item for dynamic scaling.
  143.  
  144. The next widget asks for the raw displacement to apply to points when
  145. they are within range of the Dspot. This raw value will be altered
  146. based upon the strength falloff and strength modifier values which
  147. are specified below. The basic equation for the displacement to apply
  148. is rawDisplacement x falloff x modifier.
  149.  
  150. The next widget asks for what style of displacement you desire. There
  151. are 5 options: 
  152.     Radial
  153.     Parallel with X constrained
  154.     Parallel with Y constrained
  155.     Parallel with Z constrained
  156.     Parallel with no contraints
  157.  
  158. The Radial style applies a radial displacement (imagine a black hole
  159. for attractors, or an expanding bubble for repellers). The displacement
  160. radiates in/out evenly from the center pivot point of the Dspot item.
  161. Points on the object will be displaced along different normals; each
  162. along a normal from the particular point to the Dspot pivot point.
  163. The inner radius of the Dspot is a no-man's-land. A point is not allowed
  164. within the inner radius and will always be displaced outside of it.
  165.  
  166. The Parallel options apply displacement to all points using a single
  167. common normal... from the object's pivot point to the Dspot's pivot point.
  168. While the Radial displacement causes the object to shrink or grow,
  169. the parallel tends to keep the objects shape (of course, it will stretch
  170. or compress depending on the other parameters, but it doesn't shrink down
  171. to a tiny point as can happen with radial displacement). The first
  172. three styles are concerned with actions related to the inner radius.
  173. They allow one to set up imaginary parallel planes related to the inner 
  174. radius between which points are not allowed (imagine two large plate
  175. glass windows, spaced on either side of the Dspot pivot point an
  176. innerRadius away, and aligned on the X, Y, or Z planes (as specified).
  177. Points may be displaced up to the planes, but not between them).
  178. The last Parallel option does not use the imaginary plane constraint,
  179. points may be displaced within the inner radius.
  180.  
  181. The next widget in the menu asks about displacement strength falloff.
  182. Choices are :
  183.     Constant (no falloff)
  184.     1 / Distance
  185.     1 / Distance**2
  186.     Distance - InnerRadius
  187. The first option specifies no strength falloff, the next two specify
  188. that the strength is generally inversely proportional to distance or 
  189. distance squared, and the last one specifies that the strength is 
  190. generally proportional to the distance (they are actually scaled by
  191. the inner to outer distance). 
  192.  
  193. The next widget allows one to specify a further strength modifier. 
  194. Choices are:
  195.     None
  196.     Sinusoidal
  197.     Control Item
  198. None means no further modifications. Sinusoidal indicates a sine modification,
  199. using the period and phase specified in the next two widgets. Control Item
  200. indicates that the Z Channel value of the control item (specified at
  201. the bottom of the menu, also used to control the inner/outer radii
  202. with its X and Y channels), will be used to further modify the displacement.
  203. As implied by the sinusoidal option (and certainly available to the
  204. control item), the Dspot attraction or repulsion may be reversed over
  205. time... a negative displacement while attracting is equivalent to a
  206. positive displacement while repelling and vice versa. 
  207.  
  208. The next two widgets are only used if the sinusoidal modifier was selected.
  209. They allow one to specify the period (in seconds) and phase (in radians)
  210. for the modifying sine wave.
  211.  
  212. The final widget is only used if one wants to animate the inner/outer
  213. radii and/or the strength modifications. The X channel values of the
  214. specified item may be used to alter the inner radius, the Y channel
  215. value may be used to modify the outer radius, and the Z channel value
  216. may be used to modify the displacement strength. The control item allows
  217. one fairly arbitrary control of the Dspot behaviour.
  218.  
  219.  
  220.  
  221.  
  222.         [[ Modify An Existing Dspot ]]
  223.  
  224. This action allows one to modify the Dspot selected in the main menu.
  225. Upon invocation, it will bring up a menu that is almost identical to that
  226. used by Create New, except for the fact that the "amnesia" related question 
  227. (what object am I anyway?) is always present (unlike the Create New Dspot 
  228. when it is only present the first time a Dspot is added to an item). 
  229. This will come in handy if one alters a scene such that Lightwave changes
  230. the object names and IDs on us (see Known Limitations below). 
  231. The remaining widgets are identical to those described above in the
  232. Create New section.
  233.  
  234.  
  235.         [[ Delete A Dspot ]]
  236.  
  237. This action deletes the Dspot selected in the main menu.
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244. ------------
  245. Installation
  246. ------------
  247. If you are reading this, presumably you knew to unzip the downloaded
  248. file  :-)
  249.  
  250. After unzipping, there should be two new files:
  251.     READMEDSPOT1.txt (this file)
  252.         and either
  253.     DspotNagV1.p     (the plugin if you downloaded the Intel version)
  254.         or
  255.     sgiDspotNagV1.p  (the plugin if you downloaded the SGI version)
  256.  
  257. Simply move or copy the plugin file to whereever you keep your Layout 
  258. plugins:
  259.     On Intel Platform, typically DRIVE:\newtek\plugins\layout
  260.     On SGI Platform, typically /usr/lightwave/plugins/layout 
  261.  
  262. Fire up Lighwave(Layout) and use Options/Add Plug-ins to add the plugin. 
  263. If you do not already have the standard lwpanels.p added, be sure to do so
  264. before first activating Dspot. (If you so desire, you could also have 
  265. edited the layout config file directly, but using the Add Plugin feature 
  266. is easier and less prone to typing errors :-) )
  267.  
  268. Once Dspot has been added, you should see it as an option in the
  269. Object Panel/Disp Map Plug-ins list.
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276. ------------
  277. Dependencies
  278. ------------
  279. lwpanels.p
  280.  
  281. Dspot relies on the services provided by the Lwpanels.p plugin.
  282. It must be added to Layout before this plugin will work.
  283.  
  284.  
  285.  
  286. ------------
  287. Tested On...
  288. ------------
  289. Lightwave 5.0m on an Intel platform
  290.     - Windows NT Workstation 4.0 on a Dual PII system
  291.  
  292. Lightwave 5.0 on an Indigo 2 (IRIX 6.2) and an O2 (IRIX 6.3)
  293.  
  294. Tested using relatively simple scenes, using a representative
  295. sample of the various options.
  296.  
  297. The version of Lwpanels.p used in testing on the Intel platform
  298. was dated 6/29/96 and came with the vanilla lightwave installation 
  299. (version 5.0m).
  300.  
  301. This plugin should work with Lightwave version 5.5 as well.
  302.  
  303.  
  304.  
  305.  
  306.  
  307. -----------------
  308. Known Limitations
  309. -----------------
  310. There are a few oddities imposed by the LW SDK.
  311. If the SDK changes in the future, these may be reduced/removed.
  312.  
  313. The main oddities have to do with object naming and IDs. We don't
  314. always get the correct IDs when we expect them, and both IDs and
  315. names fluctuate depending on how the user manipulates the scene
  316. elements, so in some menus the user is requested to supply the correct 
  317. object name, from which we can derive its current ID.
  318.  
  319. After creating clones of an object which used Dspots, one must open
  320. the Modify Dspot menu for each and supply them with their current name.
  321. Depending on if the base object had already been cloned before or not,
  322. its name may have changed and again, the Modify Dspot menu should
  323. be used to supply the new name.
  324.  
  325. When multiple copies of an object are present in a scene and then ones in 
  326. the middle deleted (e.g., cows 1 to 6 originally, then change your mind
  327. and delete cow(3)), some names and ids are changed, so again, one may
  328. need to use the Modify Dspot menu to supply the correct name
  329.  
  330.  
  331.  
  332.  
  333.   ** SPECIAL --->  ONLY FOR LIMITED TRIAL VERSION:
  334. This version of the plugin is intended only for a limited time
  335. trial use, to allow the user to determine if it's helpful or not.
  336. If it proves useful, the user is expected to purchase Dspots (see below).
  337.  
  338. The nagging trial version has some artificial limitations. First, it
  339. will not save or load Dspot to/from the scene file. Second, it will
  340. only apply Dspot displacement for frames 1 to 30. Finally, the Modify
  341. menu will only accept changes for up to 10 times; after that, one
  342. must delete and create new to effect modifications, and it will
  343. nag you about purchasing the product if you try the modify option.
  344.  
  345. Of course, these limitations apply only to this trial version; the
  346. actual product will save and load, displace past frame 30, and let
  347. you modify to your heart's content.  :-)
  348.  
  349.  
  350.  
  351.  
  352.  
  353. -----------
  354. Bug Reports
  355. -----------
  356.  
  357. I tried to test a representative sample of the possible combinations,
  358. but some bugs have probably slipped through. If you'd care to submit
  359. any bug reports, they can be mailed to my aol account: hudeks@aol.com
  360. (the ultranet account is not checked as frequently).
  361.  
  362.  
  363.  
  364.  
  365. ---------------
  366. How to Purchase
  367. ---------------
  368. If you've used this version and don't find it to be useful, sorry,
  369. but thanks for giving it a test drive.  :-)    I may have others in
  370. the future that will prove more satisfactory.
  371.  
  372. If it does prove helpful to you, please register and purchase it.
  373. The introductory purchase price is $50 and may be sent 
  374. (check or money order) to the following address:
  375.  
  376.     D.J. Hudek
  377.     17 Bruce St.
  378.     Grafton, MA  01519
  379.  
  380. If you include your email address, a non-crippled/non-nagging version
  381. of Dspot.p will be sent in return. Be sure to specify which platform
  382. you will run it on (Intel or SGI).
  383.  
  384. I can't imagine that anyone who would use this doesn't have an email 
  385. address (???) but if so, we could probably arrange a floppy mailing for 
  386. a nominal extra fee.
  387.  
  388. Thanks,
  389. d.j.hudek
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.